package com.telit.common.vo.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * @author liuwei
 * @description: 用户明细信息
 * @date 2021-05-06 13:31
 * @copyright 合肥市先进产业研究院&复凌科技
 **/
@Data
public class SysUserDetailVo implements Serializable {

    private static final long serialVersionUID = 4232101579315745547L;

    /**
     * 主键id
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 用户账号
     */
    private String userName;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 登录密码
     */
    private String passWord;

    /**
     * 性别(男/女)标识
     */
    private Integer gender;

    /**
     * 性别(男/女)
     */
    private String genderName;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date birthday;

    /**
     * 身份证号
     */
    private String idcard;

    /**
     * 政治面貌
     */
    private Integer policitalStatus;

    /**
     * 政治面貌名称
     */
    private String policitalStatusName;

    /**
     * 办公电话
     */
    private String officePhone;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * qq号
     */
    private String qq;

    /**
     * 微信号
     */
    private String wechat;

    /**
     * 联系地址
     */
    private String address;

    /**
     * 备注
     */
    private String remark;

    /**
     * 头像图标
     */
    private String icon;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 客户单位名称
     */
    private String customerName;

    /**
     * 责任区
     */
    private Long responsibleZone;

    /**
     * 责任区名称
     */
    private String responsibleZoneName;

    /**
     * 岗位职务
     */
    private Integer position;

    /**
     * 岗位职务名称
     */
    private String positionName;

    /**
     * 职务级别
     */
    private Integer positionRank;

    /**
     * 职务级别名称
     */
    private String positionRankName;

    /**
     * 职务层次
     */
    private Integer positionLevel;

    /**
     * 职务层次
     */
    private String positionLevelName;

    /**
     * 部门编码
     */
    private Long deptCode;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 行政区划代码
     */
    private String regionCode;

    /**
     * 行政区划名称
     */
    private String region;

    /**
     * 是否贫困户编码(0-非贫困户，1-是贫困户)
     */
    private Integer poorHousehold;

    /**
     * 是否贫困户
     */
    private String poorHouseholdName;

    /**
     * 是否通讯录等特殊展示用途(0-不展示，1-展示)
     */
    private Integer isShow;

    /**
     * 是否通讯录等特殊展示用途
     */
    private String isShowName;

    /**
     * 用户在线状态,状态变更由外部监控服务通知(0-离线，1-在线)
     */
    private Integer onlineStatus;

    /**
     * 用户在线状态
     */
    private String onlineStatusName;

    /**
     * 籍贯
     */
    @ApiModelProperty(value = "用户籍贯")
    private String nativePlace;

    /**
     * 工作性质（1-全职,2-兼职)
     */
    @ApiModelProperty(value = "工作性质标识（1-全职,2-兼职)")
    private Integer jobNature;

    /**
     * 工作性质（1-全职,2-兼职)
     */
    @ApiModelProperty(value = "工作性质标识名")
    private String jobNatureName;

    /**
     * 用户角色列表
     */
    private List<SysRoleVo> roleList;

    /**
     * 用户角色中文列表
     */
    private String rolesName;

    /**
     * 责任区id列表
     */
    @ApiModelProperty(value = "用户选中的责任区id列表")
    private List<SysUserZoneVo> zones;

    /**
     * 用户所在组织机构行政区划
     */
    @ApiModelProperty(value = "用户所在组织机构行政区划")
    private String deptRegionCode;

    @ApiModelProperty(value = "最后登录时间")
    private Date lastLoginTime;

    @ApiModelProperty(value = "经度")
    private String lon;

    @ApiModelProperty(value = "纬度")
    private String lat;
}
